package com.lbb.springboot.entity.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 私课设置
 * </p>
 *
 * @author syy
 * @since 2018-03-06
 */
@TableName("b_private_setting")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PrivateSetting implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 私课设置id
     */
    @ApiModelProperty(value = "私课设置id,更新传，添加不传")
	@TableId("private_setting_id")
	private String privateSettingId;
    /**
     * 商户id
     */
	@ApiModelProperty(value =" 商户id 不需要传  ")
	@TableField("merchant_id")
	private String merchantId;
    /**
     * 产品编号
     */
	@ApiModelProperty(value =" 产品编号不需要传  ")
	@TableField("course_no")
	private String courseNo;
    /**
     * 课程名称
     */
	@ApiModelProperty(value =" 产品名称  ")
	@TableField("course_name")
	private String courseName;
    /**
     * 封面图相对路径
     */
	@ApiModelProperty(value ="  封面图相对路径  ")
	@TableField("cover_pic_path")
	private String coverPicPath;
    /**
     * 单节时长(分)
     */
	@ApiModelProperty(value ="  单节时长(分)   ")
	@TableField("consuming_minute")
	private Integer consumingMinute;
    /**
     * 收费类型(0:收费 1:公开免费)
     */
	@ApiModelProperty(value ="  收费类型(0:收费 1:公开免费)")
	@TableField("pay_type")
	private Integer payType;
    /**
     * 单节基础价格
     */
	@ApiModelProperty(value ="  市场价 ")
	@TableField("market_price")
	private BigDecimal marketPrice;

	public BigDecimal getMarketPrice() {
		return marketPrice;
	}

	public void setMarketPrice(BigDecimal marketPrice) {
		this.marketPrice = marketPrice;
	}

	@ApiModelProperty(value ="  单节基础价格)")
	@TableField("base_price")
	private BigDecimal basePrice;
    /**
     * 单节售卖底价
     */
	@ApiModelProperty(value ="  单节售卖底价)")
	@TableField("min_price")
	private BigDecimal minPrice;
    /**
     * 课程节数
     */
	@ApiModelProperty(value ="  课程节数)")
	@TableField("course_num")
	private Integer courseNum;
    /**
     * 最低售卖节数
     */
	@ApiModelProperty(value ="  最低售卖节数)")
	@TableField("min_sell_num")
	private Integer minSellNum;
	/**
	 * 基础售卖总价
	 */
	@ApiModelProperty(value ="   基础售卖总价)")
	@TableField("base_total_price")
	private BigDecimal baseTotalPrice;

	public BigDecimal getBaseTotalPrice() {
		return baseTotalPrice;
	}

	public void setBaseTotalPrice(BigDecimal baseTotalPrice) {
		this.baseTotalPrice = baseTotalPrice;
	}

	/**
     * 是否可作为赠品(0:否 1:是)
     */
	@ApiModelProperty(value ="  是否可作为赠品(0:否 1:是))")
	@TableField("as_gift")
	private Integer asGift;
    /**
     * 可提前预约时间(小时)
     */
	@ApiModelProperty(value ="  可提前预约时间(小时) ")
	@TableField("ahead_order_hour")
	private Integer aheadOrderHour;
    /**
     * 可提前取消时间(小时)
     */
	@ApiModelProperty(value =" 可提前取消时间(小时)")
	@TableField("ahead_cancel_hour")
	private Integer aheadCancelHour;
    /**
     * 课程描述
     */
	@ApiModelProperty(value ="  课程描述")
	private String content;
    /**
     * 售卖状态(0:上架 1:下架)
     */
	@ApiModelProperty(value ="  售卖状态(0 下架，1 上架。删除  -1) ")
	private Integer status;
    /**
     * 更新时间
     */
	@ApiModelProperty(value ="  更新时间 ")
	@TableField("update_time")
	private Date updateTime;
    /**
     * 上课有效期(天)
     */
	@ApiModelProperty(value ="  课有效期(天) ")
	private Integer indate;
    /**
     * 爽约是否惩罚(0:否 1:是)
     */
	@ApiModelProperty(value ="  爽约是否惩罚(0:否 1:是) ")
	private Integer punish;
    /**
     * 最多课爽约次数
     */
	@ApiModelProperty(value =" 最多课爽约次数  ")
	@TableField("break_time")
	private Integer breakTime;
    /**
     * 是否可延期
     */
	@ApiModelProperty(value =" 是否可延期")
	private Integer postpone;
    /**
     * 延期手续费(元/天)
     */
	@ApiModelProperty(value ="  延期手续费(元/天) ")
	@TableField("postpone_cost")
	private BigDecimal postponeCost;
    /**
     * 停课手续费类型(0:百分比 1:固定金额)
     */
	@ApiModelProperty(value ="   停课手续费类型(0:百分比 1:固定金额) ")
	@TableField("stop_cost_type")
	private Integer stopCostType;
    /**
     * 停课手续费_百分比
     */
	@ApiModelProperty(value ="   停课手续费_百分比 ")
	@TableField("stop_cost_percent")
	private BigDecimal stopCostPercent;
    /**
     * 停课手续费_固定金额
     */
	@ApiModelProperty(value ="   停课手续费_固定金额 ")
	@TableField("stop_cost_amount")
	private BigDecimal stopCostAmount;
    /**
     * 最长停课天数
     */
	@ApiModelProperty(value ="   最长停课天数 ")
	@TableField("stop_max_day")
	private Integer stopMaxDay;
    /**
     * 是否体验课(0:否 1:是)
     */
	@ApiModelProperty(value ="   是否体验课(0:否 1:是) ")
	private Integer experience;
    /**
     * 购买后激活期限(天)
     */
	@ApiModelProperty(value ="   购买后激活期限(天) ")
	@TableField("activate_day")
	private Integer activateDay;
    /**
     * 是否可停课(0:否 1:是)
     */
	@ApiModelProperty(value ="    是否可停课(0:否 1:是) ")
	@TableField("can_stop")
	private Integer canStop;
    /**
     * 是否可退课(0:否 1:是)
     */
	@ApiModelProperty(value ="    是否可退课(0:否 1:是) ")
	@TableField("can_withdraw")
	private Integer canWithdraw;
    /**
     * 退课手续费类型(0:百分比 1:固定金额)
     */
	@ApiModelProperty(value ="    退课手续费类型(0:百分比 1:固定金额) ")
	@TableField("withdraw_cost_type")
	private Integer withdrawCostType;
    /**
     * 退课手续费_百分比
     */
	@ApiModelProperty(value ="    退课手续费_百分比 ")
	@TableField("withdraw_cost_percent")
	private BigDecimal withdrawCostPercent;
    /**
     * 退课手续费_固定金额
     */
	@ApiModelProperty(value ="     退课手续费_固定金额 ")
	@TableField("withdraw_cost_amount")
	private BigDecimal withdrawCostAmount;
    /**
     * 门店ID
     */
	@ApiModelProperty(value ="  门店ID 不需要传")
	@TableField("shop_id")
	private String shopId;
    /**
     * 创建时间
     */
	@ApiModelProperty(value ="  创建时间 不需要传")
	@TableField("create_time")
	private Date createTime;
    /**
     * 创建人
     */
	@ApiModelProperty(value ="  创建人 不需要传")
	@TableField("create_by")
	private String createBy;
    /**
     * 修改人
     */
	@ApiModelProperty(value ="   修改人 不需要传")
	@TableField("update_by")
	private String updateBy;
    /**
     * 全部只做逻辑删除,不做物理删除 1删除,0未删除
     */
	@ApiModelProperty(value ="   修改人 不需要传")
	@TableField("is_delete")
	@TableLogic(value = "0", delval = "1")
	private Integer isDelete;


	public String getPrivateSettingId() {
		return privateSettingId;
	}

	public void setPrivateSettingId(String privateSettingId) {
		this.privateSettingId = privateSettingId;
	}

	public String getMerchantId() {
		return merchantId;
	}

	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	public String getCourseNo() {
		return courseNo;
	}

	public void setCourseNo(String courseNo) {
		this.courseNo = courseNo;
	}

	public String getCourseName() {
		return courseName;
	}

	public void setCourseName(String courseName) {
		this.courseName = courseName;
	}

	public String getCoverPicPath() {
		return coverPicPath;
	}

	public void setCoverPicPath(String coverPicPath) {
		this.coverPicPath = coverPicPath;
	}

	public Integer getConsumingMinute() {
		return consumingMinute;
	}

	public void setConsumingMinute(Integer consumingMinute) {
		this.consumingMinute = consumingMinute;
	}

	public Integer getPayType() {
		return payType;
	}

	public void setPayType(Integer payType) {
		this.payType = payType;
	}

	public BigDecimal getBasePrice() {
		return basePrice;
	}

	public void setBasePrice(BigDecimal basePrice) {
		this.basePrice = basePrice;
	}

	public BigDecimal getMinPrice() {
		return minPrice;
	}

	public void setMinPrice(BigDecimal minPrice) {
		this.minPrice = minPrice;
	}

	public Integer getCourseNum() {
		return courseNum;
	}

	public void setCourseNum(Integer courseNum) {
		this.courseNum = courseNum;
	}

	public Integer getMinSellNum() {
		return minSellNum;
	}

	public void setMinSellNum(Integer minSellNum) {
		this.minSellNum = minSellNum;
	}

	public Integer getAsGift() {
		return asGift;
	}

	public void setAsGift(Integer asGift) {
		this.asGift = asGift;
	}

	public Integer getAheadOrderHour() {
		return aheadOrderHour;
	}

	public void setAheadOrderHour(Integer aheadOrderHour) {
		this.aheadOrderHour = aheadOrderHour;
	}

	public Integer getAheadCancelHour() {
		return aheadCancelHour;
	}

	public void setAheadCancelHour(Integer aheadCancelHour) {
		this.aheadCancelHour = aheadCancelHour;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Integer getIndate() {
		return indate;
	}

	public void setIndate(Integer indate) {
		this.indate = indate;
	}

	public Integer getPunish() {
		return punish;
	}

	public void setPunish(Integer punish) {
		this.punish = punish;
	}

	public Integer getBreakTime() {
		return breakTime;
	}

	public void setBreakTime(Integer breakTime) {
		this.breakTime = breakTime;
	}

	public Integer getPostpone() {
		return postpone;
	}

	public void setPostpone(Integer postpone) {
		this.postpone = postpone;
	}

	public BigDecimal getPostponeCost() {
		return postponeCost;
	}

	public void setPostponeCost(BigDecimal postponeCost) {
		this.postponeCost = postponeCost;
	}

	public Integer getStopCostType() {
		return stopCostType;
	}

	public void setStopCostType(Integer stopCostType) {
		this.stopCostType = stopCostType;
	}

	public BigDecimal getStopCostPercent() {
		return stopCostPercent;
	}

	public void setStopCostPercent(BigDecimal stopCostPercent) {
		this.stopCostPercent = stopCostPercent;
	}

	public BigDecimal getStopCostAmount() {
		return stopCostAmount;
	}

	public void setStopCostAmount(BigDecimal stopCostAmount) {
		this.stopCostAmount = stopCostAmount;
	}

	public Integer getStopMaxDay() {
		return stopMaxDay;
	}

	public void setStopMaxDay(Integer stopMaxDay) {
		this.stopMaxDay = stopMaxDay;
	}

	public Integer getExperience() {
		return experience;
	}

	public void setExperience(Integer experience) {
		this.experience = experience;
	}

	public Integer getActivateDay() {
		return activateDay;
	}

	public void setActivateDay(Integer activateDay) {
		this.activateDay = activateDay;
	}

	public Integer getCanStop() {
		return canStop;
	}

	public void setCanStop(Integer canStop) {
		this.canStop = canStop;
	}
	
	
	public Integer getCanWithdraw() {
		return canWithdraw;
	}

	public void setCanWithdraw(Integer canWithdraw) {
		this.canWithdraw = canWithdraw;
	}

	public Integer getWithdrawCostType() {
		return withdrawCostType;
	}

	public void setWithdrawCostType(Integer withdrawCostType) {
		this.withdrawCostType = withdrawCostType;
	}

	public BigDecimal getWithdrawCostPercent() {
		return withdrawCostPercent;
	}

	public void setWithdrawCostPercent(BigDecimal withdrawCostPercent) {
		this.withdrawCostPercent = withdrawCostPercent;
	}

	public BigDecimal getWithdrawCostAmount() {
		return withdrawCostAmount;
	}

	public void setWithdrawCostAmount(BigDecimal withdrawCostAmount) {
		this.withdrawCostAmount = withdrawCostAmount;
	}

	public String getShopId() {
		return shopId;
	}

	public void setShopId(String shopId) {
		this.shopId = shopId;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

}
